#ifndef D3DVERTEX_H
#define D3DVERTEX_H

#include "EngineApi.h"

//vertice generico
class ENGINE_API D3DVertex
{
protected:
	float x, y, z;
	unsigned long color;

public:
	void SetVertex(float x_, float y_, float z_, unsigned long color_)
	{
		x = x_;
		y = y_;
		z = z_;
		color = color_;
	}
};

// vertice para sprite
class ENGINE_API D3DVertexUV 
{
	float x, y, z;
	float u,v;

public:
	void SetVertex(float x_, float y_, float z_, float u_, float v_)
	{
		x = x_;
		y = y_;
		z = z_;

		u = u_;
		v = v_;
	}
	void SetUV(float u_, float v_)
	{
		u = u_;
		v = v_;
	}
};
class ENGINE_API D3DMeshVertex
{
	float x, y, z;
	float nx, ny, nz;

	DWORD color;

public:
	void SetVertex(float x_, float y_, float z_, unsigned long color_, float nx_ = 0.0f, float ny_ = -1.0f, float nz_ = 0.0f)
	{
		x = x_;
		y = y_;
		z = z_;

		color = color_;

		nx = nx_;
		ny = ny_;
		nz = nz_;
	}
};

#endif // D3DVERTEX_H